package com.handinfo.android.game;

import java.io.DataInputStream;
import java.io.IOException;

import android.provider.ContactsContract.RawContacts.Data;

import com.handinfo.android.game.item.Item;
import com.handinfo.android.utils.Tools;

public class Battle {

	//金钱
	public byte m_money_size=0;//金钱的长度
	public byte m_money_type[]=null;///金钱的长度那么大的数组=金钱的类型
	public long m_money_num[] = null;//金钱的长度那么大的数组=金钱的数量
	
	///道具
	public byte m_item_size = 0;//道具的长度
	public Item m_item_list[] = null;//道具的长度那么大的数组=item对象
	public Battle(){}
	
	//众多玩家排名
	public short m_role_size = 0; //众多玩家的排名的数量
	public String m_role_name[] = null; //排名数量那么长的数组=玩家的名字
	public byte m_camp[] = null;//玩家的阵营
	public byte[] m_vip=null;//玩家的vip
	public int m_role_score[] = null; //排名数量那么长的数组=玩家的得分
	
	//单个玩家结算个人杀戮
	public int m_sigle_rank = 0; //单一玩家的排名
	public int m_sigle_score = 0; //单一玩家的得分
	public int m_skill_num = 0;//单一玩家的击杀数量
	public int m_sigle_zhugong_count = 0;//助攻人数
	public long m_sigle_zhangong = 0;//奖励战功
	
	//右侧玩家的信息
	public short m_right_role_size = 0;//右侧人物信息的长度
	public String m_right_role_name[] = null;//右侧人物信息的长度=人物名字
	public byte m_right_role_camp[] = null;//右侧人物信息的长度=人物阵营
	public byte m_right_role_vip[] = null;//右侧人物信息的长度=人物vip
	public int m_right_role_score[] = null;//右侧人物信息的长度=人物分数
	/**
	 * 金钱
	 * @param dis
	 * @throws IOException
	 */
	public void recvMoney(DataInputStream dis)throws IOException
	{
		m_money_size = dis.readByte();
		Tools.debugPrintln("金钱的长度："+m_money_size);
		m_money_type = new byte[m_money_size];
		m_money_num = new long[m_money_size];
		for(int i=0;i<m_money_size;i++)
		{
			m_money_type[i] = dis.readByte();
			Tools.debugPrintln("第"+i+"个的金钱类型："+m_money_type[i]);
			m_money_num[i] = dis.readLong();
			Tools.debugPrintln("第"+i+"个的金钱数量："+m_money_num[i]);
		}
	}
	
	/**
	 * 道具
	 * @param dis
	 * @throws IOException
	 */
	public void recvItem(DataInputStream dis)throws IOException
	{
		m_item_size = dis.readByte();
		Tools.debugPrintln("道具的长度："+m_item_size);
		if(m_item_size>0)
		{
			m_item_list = new Item[m_item_size];
			for(int i=0;i<m_item_size;i++)
			{
				m_item_list[i] = new Item();
				Item item = new Item();
				item.m_key = dis.readUTF();
				Tools.debugPrintln("第"+i+"个的道具的key："+item.m_key);
				item.m_name = dis.readUTF();
				Tools.debugPrintln("第"+i+"个的道具的name："+item.m_name);
				item.m_iconId = dis.readShort();
				Tools.debugPrintln("第"+i+"个的道具的m_iconId："+item.m_iconId);
				item.m_icon = IconManger.getInstance().getIcon(item.m_iconId);
				item.m_num = dis.readShort();
				Tools.debugPrintln("第"+i+"个的道具的数量："+item.m_num);
				item.m_quality = dis.readByte();
				Tools.debugPrintln("第"+i+"个的道具的品介："+item.m_quality);
				m_item_list[i] = item;
			}
		}
	}
	
	/**
	 * 玩家排名
	 */
	public void recvMoreRole(DataInputStream dis)throws IOException
	{
		m_role_size = dis.readShort();
		Tools.debugPrintln("玩家的长度："+m_role_size);
		if(m_role_size>0)
		{
			m_role_name = new String[m_role_size];
			m_role_score = new int[m_role_size];
			m_vip = new byte[m_role_size];
			m_camp = new byte[m_role_size];
			for(int i=0;i<m_role_size;i++)
			{
				m_role_name[i] = dis.readUTF();
				Tools.debugPrintln("第"+i+"个的玩家的名字："+m_role_name[i]);
				m_camp[i] = dis.readByte();
				Tools.debugPrintln("第"+i+"个的玩家的阵营："+m_camp[i]);
				m_vip[i] = dis.readByte();
				Tools.debugPrintln("第"+i+"个的玩家的vip："+m_vip[i]);
				m_role_score[i] = dis.readInt();
				Tools.debugPrintln("第"+i+"个的玩家的得分："+m_role_score[i]);
			}
		}
	}
	
	/**
	 * 最后结算的个人玩家的数据
	 */
	public void recvSigleRole(DataInputStream dis)throws IOException
	{
		m_sigle_rank = dis.readInt();
		Tools.debugPrintln("玩家的排名："+m_sigle_rank);
		m_sigle_score = dis.readInt();
		Tools.debugPrintln("玩家的得分："+m_sigle_score);
		m_skill_num = dis.readInt();
		Tools.debugPrintln("玩家的击杀数量："+m_skill_num);
		m_sigle_zhugong_count = dis.readInt();
		Tools.debugPrintln("玩家的助攻数量："+m_sigle_zhugong_count);
		m_sigle_zhangong = dis.readLong();
		Tools.debugPrintln("玩家的战功数量："+m_sigle_zhugong_count);
	}
	
	/**
	 * 屏幕右侧显示人物信息(小地图那里的显示)
	 */
	public void recvRightRole(DataInputStream dis)throws IOException
	{
		m_right_role_size = dis.readShort();
		Tools.debugPrintln("右侧玩家的长度："+m_role_size);
		if(m_right_role_size>0)
		{
			m_right_role_name= new String[m_right_role_size];
			m_right_role_camp= new byte[m_right_role_size];
			m_right_role_vip= new byte[m_right_role_size];
			m_right_role_score = new int[m_right_role_size];
			for(int i=0;i<m_right_role_size;i++)
			{
				m_right_role_name[i] = dis.readUTF();
				Tools.debugPrintln("第"+i+"个的玩家的名字："+m_right_role_name[i]);
				m_right_role_camp[i] = dis.readByte();
				Tools.debugPrintln("第"+i+"个的玩家的阵营："+m_right_role_camp[i]);
				m_right_role_vip[i] = dis.readByte();
				Tools.debugPrintln("第"+i+"个的玩家的vip："+m_right_role_vip[i]);
				m_right_role_score[i] = dis.readInt();
				Tools.debugPrintln("第"+i+"个的玩家的得分："+m_right_role_score[i]);
			}
		}
	}
}
